package iyasuo

import (
	"container/list"
	"github.com/xuri/efp"
)

type IYasuo interface {
	OpCalc(token string) (interface{},error)
	// 获取当前栈的结构体
	// 获取OPD栈
	GetOPD() *list.List
	GetOPT() *list.List
	GetCur() int
	SetCur(cur int)
	GetNext() int
	SetNext(next int)
	GetTokens() []efp.Token
	// 获取逻辑运算符
	GetLogicOPT() *list.List
	// 获取逻辑运算数
	GetLogicOPD() *list.List
	// 获取临时变量栈
	// 栈的形式 map[string]float64
	GetVar() map[string]float64
	// 设置临时变量的值
	SetVar(k string, v float64)
	// 获取临时变量操作数栈
	GetVarOPD() *list.List
	// 获取临时变量操作符栈
	GetVarOPT() *list.List
}
